package com.ssm.studen.service.impl;

import com.ssm.studen.dao.QuestionbankinfoDao;
import com.ssm.studen.model.Questionbankinfo;
import com.ssm.studen.service.QuestionbankinfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * 题库信息表：
 *          实现业务及流程接口当中的内容
 */
@Service
public class QuestionbankinfoServiceImpl implements QuestionbankinfoService {

    @Autowired
    private QuestionbankinfoDao questionbankinfoDao;


    /**
     * 题库信息表查询
     * @param qnum
     * @return
     */
    @Override
    public List<Questionbankinfo> selectQuestionbankinfo(int qnum) {
        List<Questionbankinfo> list = questionbankinfoDao.selectQuestionbankinfo(qnum);
        return list;
    }


    /**
     * 题库信息表添加
     * @param questionbankinfo
     * @return
     */
    @Override
    public int insertQuestionbankinfo(Questionbankinfo questionbankinfo) {
        int result = 0;
        /*
         * 1.业务判断
         *          1）不能重复
         * */
        //1）判断
        int realCount = questionbankinfoDao.questionbankinfoCount(questionbankinfo.getQnum());
        if(realCount<1){
            //2.数据添加
            int add = questionbankinfoDao.insertQuestionbankinfo(questionbankinfo);
            //3.返回值设置
            result = add;
        }else{
            //有相同的角色名
            result = -1;
        }
        return result;
    }


    /**
     * 题库信息表更新
     * @param questionbankinfo
     * @return
     */
    @Override
    public int updateQuestionbankinfo(Questionbankinfo questionbankinfo) {
        /*
         * 业务流程判断
         * */
        int isUpdate = 0;
        try {
            isUpdate = questionbankinfoDao.updateQuestionbankinfo(questionbankinfo);
        }catch (Exception e){
            isUpdate = -1;
            //打印更新时报错的情况
            System.out.println("更新题库信息表信息时执行SQL报错的原因是：" + e.getMessage());
        }
        return isUpdate;
    }


    /**
     * 题库信息表删除
     * @param qnum
     * @return
     */
    @Override
    public int deleteQuestionbankinfo(int qnum) {
        int del = 0;
        try {
            //返回的结果总数量大于0，才可以删除
            if(questionbankinfoDao.questionbankinfoCount(qnum)>0){
                del = questionbankinfoDao.deleteQuestionbankinfo(qnum);
            }
        }catch (Exception e){
            del = -1;
            System.out.println("删除角色信息时执行SQL报错，信息为：" + e.getMessage());
        }
        return del;
    }
}
